#include<bits/stdc++.h>

using namespace std;
using ll = long long;
#define endl '\n'


int main() {
    for (int i = 0; i < (1 << 5); i++) {
        int a = (i >> 4) & 1;
        int b = (i >> 3) & 1;
        int c = (i >> 2) & 1;
        int d = (i >> 1) & 1;
        int e = i & 1;
        if (a == 1 && c == 1)continue;
        if (b == 0 && c == 0)continue;
        if (c == 0 && (d + e != 1))continue;
        if (b + c + d == 3)continue;
        if (b == 1 and (d + e == 0))continue;
        cout << a << b << c << d << e << endl;
    }
    return 0;
}
//## 1.  选人。
//### 一个小组共五人，分别为A、B、C、D、E。现有一项任务，要他们中的3个人去完成。
//已知：（1）A、C不能都去；（2）B、C不能都不去；（3）如果C去了，D、E就只能去一个，
//且必须去一个；（4）B、C、D不能都去；
//（5）如果B去了，D、E就不能都去。编程找出此项任务该由哪三人去完成的所有组合。